My journey to get certified in Terraform Associate (June 2022)

Miguel Moreno
5 min readJun 29, 2022

This story describes my personal experience and in no way should it be taken as an unique or absolute reference. I just try to help anyone else that is looking to schedule the exam soon.

Terraform is one of the most used tools which allow management of infrastructure as code(IaC). If your role is technical or related to provide and manage cloud environments, I think you should work on this certification and I have three reasons to do it:
1. Terraform is one of the most used tools in the industry for management of IaC.
2. The cost to schedule the exam is very fair.
3. Preparing for the exam is not highly demanding.

Content

  1. About the exam
  2. My score
  3. My personal experience
  4. Pre-exam suggestions
  5. Suggestions during the exam
  6. Learning path and study resources

1. About the exam

  • Exam's cost: USD $70.50 (~MXP $1,500.00).
  • Duration: 1 hour.
  • Expiration: 2 years.
  • Questions: 59(my case). There were multiple choice, multiple answer, and fill in the blank questions.
  • Format: online proctored (PSI). Only available in English.
  • Dynamic to take the exam: among other requirements…You must be alone in the room, doors closed and limited background noise. Your desk must be clear. Headphones, monitors, phones or food NOT allowed. Your whole head and shoulders should be visible to the camera. Test-takers must use their own GitHub account.

2. My score

  • I cleared the exam in: 57 minutes
  • Overall Score: 89%
  • Breakdown by content area:

1.0 Understand infrastructure as code (IaC) concepts: 100%
2.0 Understand Terraform’s purpose (vs other IaC): 100%
3.0 Understand Terraform basics: 85%
4.0 Use the Terraform CLI (outside of core workflow): 100%
5.0 Interact with Terraform modules: 66%
6.0 Navigate Terraform workflow: 100%
7.0 Implement and maintain state: 75%
8.0 Read, generate, and modify configuration: 90%
9.0 Understand Terraform Cloud and Enterprise capabilities: 100%

3. My Personal Experience

The last 3 years I’ve been working with Terraform in different projects and cloud providers like AWS, Oracle OCI and GCP. However, not all projects were not so demanding regarding to Terraform, and my learning process was not always so intensive.

Having said that, in a totally honest sentence, I believe the exam is easy. Yes, I found questions with concepts that I’ve never heard before and a few questions that can be stressful if English is not our first language, because we could consume more time reading several times the same question and perhaps, we continue to be confused. Keep in mind that we have a little bit more than 1 minute per question.

One thing is for sure to pass the exam, you really need to know how to read Terraform code. If you’ve started study for the exam, you’ve noticed that there are a lot of material about Terraform (docs, videos, bootcamps, etc.); choosing the resources fit better to your rhythm, depends on each one.

Talking strictly about the exam, the nine domains on the exam are not the biggest list of concepts, in fact, that helps us on study time terms. This is what worked better for me to study:

1. Iterate with the practice exams. Once I got several iterations score higher than 90% on each one, I scheduled my certifications exam.
2. My notes, that basically includes references to official documentation, code examples, and a Terraform cheatsheet for hands-on practices.
3. Work with laboratories and write your code examples
4. Play with the CLI, the state and workflows (init/plan/apply/destroy)

And remember, preparing to and get this certification will not become you in an Terraform expert, but definitely it will demonstrate that you have a remarkable technical level and solid bases to keep improving.

4. Pre-exam suggestions

  • If you don’t have years of experience working with Terraform, don’t worry! I believe this tool is very noble and you can get an acceptable level of knowledge to face the exam certification if you practice intensively during 3–4 weeks.
  • Without any hands-on experience writing Terraform code, I believe your best option to pass the exam is to work with laboratories as much as possible.
  • Practice the most common commands and flags (init, plan, apply, destroy, fmt, validate, refresh), learn to read their outputs, and identify what they run in foreground and background.
  • Write some code with basic infrastructure resources, variables, outputs, create multiple modules, use module outputs as input values to another module.
  • Get familiar with the basics about Terraform debugging, enabling logs and explicit/implicit dependencies.
  • Invest time to understand and practice with local and remote states; practice listing, importing, tainting, moving, showing and removing resources from/to the state.
  • Practice with local and cloud workspaces, different providers and the alias meta-argument.
  • Don’t invest much time studying all built-in functions, provisioners, sentinel or vault; an overview and understand the basics could be enough.

5. Suggestions during the exam

  • Recognize that as any exam, you will face questions where you’re completely sure about the answers, others that you assume and others that definitely are unknown.
  • Don’t spend much time on a single question. It’s well known that there are a few questions in this exam with debatable semantic, specially for us, the non-native English speakers.
  • I used this strategy. As fast as I could, I went through the whole exam and I answered those questions where I was pretty sure; I flagged all others questions and came back to them with enough time to read again and think better of my answers. I repeated this strategy every time that felt I was spending much time in a single question.
  • Read the Exam taker handbook to ensure you cover the mandatory requirements regarding to physical environment and personal identifications (IDs).
  • Ensure to run the security and compatibility checks in your computer.

6. Learning path and study resources

  • Previous to prepare for the exam and as I said, I’d worked with Terraform before, so I had some hands-on experience, but serious gaps in the Terraform fundamentals as well
  • The basic code examples were tremendously valuable to me, they helped me to clarify core concepts. Don’t hesitate practice with the fundamental laboratories (CLI, State, Modules, Provision)
  • Two weeks before clear the exam, my two most frequent study resources were:
    1. The practice exams created by Bryan Krausen and available in Udemy.
    2. My notes (One day I read, on next day I practiced with exams).
  • I took the freeCodeCamp Terraform Course. I believe Sanjeev Thiyagarajan did an excellent job to explain key concepts and make easier the ramp up.
  • I used the Antonio Lo Fiego Cloud Cert notes to reinforce key concepts like: build-in functions, workspaces and variable precedence.
  • I used this Andrew Brown article and this Tiexin Guo article to get more context about the exam.
  • I used this Prefetch Technologies article to practice with the terraform console.
  • A few days before the exam appointment, I did a quick review with the Bhargav Bachina article — “250 practice questions for Terraform Associate Certifications”.
  • One night before the exam, I literally started playing with Terraform CLI (init, plan, apply, destroy, fmt, validate, refresh). It was just for fun, but surprised myself how the theory matched with every command, flag and output that I was typing. That was my extra positive feeling!

Please, share or leave a comment if you found this document useful.
As always, any feedback will be very welcome.
Thanks and from now, best of luck!

Miguel Moreno
Cloud Operation Engineer at Wizeline

--

--